/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package LogicadeNegocio;
import CapadeDatos.DaoAlumno;
import CapadeDatos.DaoDatosAlumno;
import CapadeDatos.DaoDatosAlumno2;
import CapadeDatos.Daodetallematricula;
import java.util.ArrayList;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import modelo.beandatosalumno;
import modelo.beandetallematricula;
import java.util.Iterator;

import java.awt.Image;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
 *
 * @author principal
 */
/*
 * Aka es donde se hace la magia jaja ... creamos la clase con un Jtable de parametro
 *
 */
public class VerDatosAlumno {
    JTextField[] cajas;
    String opcion;
    String valor;
    JTable tabla;
    JTable tabla2;
    JLabel foto;
    JLabel panel;
    String valor2   ;
    JComboBox [] combo;
    DefaultTableModel dtm; // Modelo que se le pasas la JTABLE
    public VerDatosAlumno(JTextField[] cajastexto, String opcion1, String Valor1,JTable valortabla,JTable valortabla2,JLabel pan,String Valor2){
         cajas = cajastexto; // Constructor...
         opcion = opcion1;
         valor = Valor1;
         tabla=valortabla;
         tabla2 = valortabla2;
         valor2 = Valor2;
         panel = pan;
    }
    public VerDatosAlumno(JTextField[] cajastexto,JComboBox [] combos){
         cajas = cajastexto; // Constructor...
         combo= combos;
    }
 
    public void cargardatosalumno() throws Exception{
      beandatosalumno datosalumno = DaoDatosAlumno2.datosalumno(opcion, valor,valor2); // Llamamos al metodo datos modulo que nos devuelve el ArrayList
      cajas[0].setText(datosalumno.getAlumno_codigo());
      cajas[1].setText(datosalumno.getAlumno_dianacimiento());
      cajas[2].setText(convertirmes(Integer.parseInt(datosalumno.getAlumno_mesnacimiento())));
      cajas[3].setText(datosalumno.getAlumno_añonacimiento());
      cajas[4].setText(datosalumno.getAlumno_sexo());
      cajas[5].setText(datosalumno.getAlumno_edad());
      cajas[6].setText(datosalumno.getAlumno_distrito());
      cajas[7].setText(datosalumno.getAlumno_provincia());
      cajas[8].setText(datosalumno.getAlumno_departamento());
      cajas[9].setText(datosalumno.getAlumno_actividadlaboral());
      cajas[10].setText(datosalumno.getResidencia_direccion());
      cajas[11].setText(datosalumno.getResidencia_lugar());
      cajas[12].setText(datosalumno.getAlumno_procedencia_ie());
      cajas[13].setText(datosalumno.getAlumno_procedencia_ubicacion());
      if(datosalumno.getAlumno_rettrans_fecha().equals("0001-01-01")){
      cajas[14].setText("-------");}
      else{
      cajas[14].setText(datosalumno.getAlumno_rettrans_fecha());
      }   
      cajas[15].setText(datosalumno.getAlumno_rettrans_observacion());
      cajas[16].setText(datosalumno.getAlumno_Carrea());
      cajas[17].setText(datosalumno.getAlumno_DNI());
      cajas[18].setText(datosalumno.getResidencia_numero());
      tabla.setValueAt(datosalumno.getAlumno_apellido_paterno().toString(), 0, 0);
      tabla.setValueAt(datosalumno.getAlumno_apellido_materno().toString(), 0, 1);
      tabla.setValueAt(datosalumno.getAlumno_nombres().toString(), 0, 2);
      ArrayList lista = Daodetallematricula.datosdetallealumno(datosalumno.getAlumno_codigo().toString());
      beandetallematricula[] detalles = new beandetallematricula[lista.size()];
      Iterator itr = lista.iterator();
      int j=0;
      while (itr.hasNext()) {
          detalles[j] =  (beandetallematricula) itr.next();
          j++;
      }

      VerUdeRep uderep = new VerUdeRep(tabla2);
      for(int i=0;i<detalles.length;i++){
            tabla2.setValueAt(i+1, i, 0);
            tabla2.setValueAt(detalles[i].getCod_periodo().toString(), i, 1);
            tabla2.setValueAt(detalles[i].getCod_sem().toString(), i, 2);
            tabla2.setValueAt(detalles[i].getNombrecarrera().toString(), i, 3);
            tabla2.setValueAt(detalles[i].getTurno().toString(),i, 4);
            tabla2.setValueAt(detalles[i].getCondicion().toString(), i, 5);
            tabla2.setValueAt(detalles[i].getFecha().toString(), i, 7);
            uderep.cargaruderepxdetalle(detalles[i].getCod_detalle().toString(), i);          
        }  
   
      panel.setText("");
      panel.setSize(145,145);
//      Image dtCat = datosalumno.getImagen();
//      Icon icon = new ImageIcon(dtCat.getScaledInstance(panel.getWidth(),panel.getHeight(), Image.SCALE_DEFAULT));
//      panel.setIcon(icon);
   }

     public String convertirmes(int numero){
      String mes = null;
      switch(numero){
          case 1:mes = "Enero";break;
           case 2: mes = "Febrero"; break;
           case 3: mes = "Marzo"; break;
           case 4: mes = "Abril"; break;
           case 5: mes = "Mayo"; break;
           case 6: mes = "Junio"; break;
           case 7: mes = "Julio"; break;
           case 8: mes = "Agosto"; break;
           case 9: mes =  "Setiembre"; break;
           case 10: mes = "Octubre"; break;
           case 11: mes = "Noviembre"; break;
           case 12:  mes ="Diciembre"; break;
        }
      return mes;
}

      public void cargardatosalumno2(String matricul) throws Exception{
      beandatosalumno datosalumno = DaoAlumno.usuario(matricul); // Llamamos al metodo datos modulo que nos devuelve el ArrayList
      cajas[0].setText(datosalumno.getAlumno_apellido_paterno());
      cajas[1].setText(datosalumno.getAlumno_apellido_materno());
      cajas[2].setText(datosalumno.getAlumno_nombres());
      cajas[3].setText(datosalumno.getResidencia_direccion());
      cajas[4].setText(datosalumno.getResidencia_numero());
      cajas[5].setText(datosalumno.getResidencia_lugar());

      combo[0].setSelectedItem(datosalumno.getAlumno_actividadlaboral());
      combo[1].setSelectedItem(datosalumno.getAlumno_procedencia_ie());
      combo[2].setSelectedItem(datosalumno.getAlumno_departamento());
      combo[3].setSelectedItem(datosalumno.getAlumno_provincia());
      combo[4].setSelectedItem(datosalumno.getAlumno_distrito());
      combo[5].setSelectedItem(datosalumno.getAlumno_Carrea());
      combo[6].setSelectedItem(datosalumno.getAlumno_turno());

   }
}
